/*
 * To  change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bitclub;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import persistencia.POfertaNumeroArticulo;

/**
 *
 * @author Manuel Fernández Martinez
 * @fecha 13/09/2010
 * @version 1.0
 * 
 */
public class OfertaNumeroArticulo extends Oferta { //hereda de clase Oferta

    private int numAlquiladas, numPagar;

    public OfertaNumeroArticulo(double descuento, double precioNuevo, int diasExtras, int tipo, Date fechaFin, Date fechaInicio, String nombre, int id, int numAlquiladas, int numPagar) {
        super(descuento, precioNuevo, diasExtras, tipo, fechaFin, fechaInicio, nombre, id);
        this.numAlquiladas = numAlquiladas;
        this.numPagar = numPagar;
    }
    
    public OfertaNumeroArticulo(double descuento, double precioNuevo, int diasExtras, int tipo, Date fechaFin, Date fechaInicio, String nombre, int numAlquiladas, int numPagar) {
        super(descuento, precioNuevo, diasExtras, tipo, fechaFin, fechaInicio, nombre);
        this.numAlquiladas = numAlquiladas;
        this.numPagar = numPagar;
    }

    public int getNumAlquiladas() {
        return numAlquiladas;
    }

    public void setNumAlquiladas(int numAlquiladas) {
        this.numAlquiladas = numAlquiladas;
    }

    public int getNumPagar() {
        return numPagar;
    }

    public void setNumPagar(int numPagar) {
        this.numPagar = numPagar;
    }

    @Override
    public String toString() {
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        if (this.getTipo() == 1) {
            return "El nombre de la oferta elegida es: " + this.getNombre() + ""
                    + "\nOferta número de películas (" + this.getNumAlquiladas() + ")"
                    + "\nPorcentaje de descuento: " + this.getDescuento() + "%"
                    + "\nComprendido entra las fechas: " + df.format(this.getFechaInicio()) + ""
                    + " y " + df.format(this.getFechaFin()) + "\nID: " + this.getId();
        } else if (this.getTipo() == 2) {
            return "El nombre de la oferta elegida es: " + this.getNombre() + ""
                    + "\nOferta número de películas (" + this.getNumAlquiladas() + ")"
                    + "\nDías extras para entregar: " + this.getDiasExtras() + ""
                    + "\nComprendido entra las fechas: " + df.format(this.getFechaInicio()) + ""
                    + " y " + df.format(this.getFechaFin()) + "\nID: " + this.getId();
        } else if (this.getTipo() == 3) {
            return "El nombre de la oferta elegida es: " + this.getNombre() + ""
                    + "\nOferta número de películas (" + this.getNumAlquiladas() + ")"
                    + "\nPrecio nuevo de alquiler: " + this.getPrecioNuevo()
                    + "\nComprendido entra las fechas: " + df.format(this.getFechaInicio()) + ""
                    + " y " + df.format(this.getFechaFin()) + "\nID: " + this.getId();
        } else {
            return "El nombre de la oferta elegida es: " + this.getNombre() + ""
                    + "\nOferta número de películas (" + this.getNumAlquiladas() + "x" + this.getNumPagar() + ")"
                    + "\nComprendido entra las fechas: " + df.format(this.getFechaInicio()) + ""
                    + " y " + df.format(this.getFechaFin()) + "\nID: " + this.getId();
        }
    }

    public static List<OfertaNumeroArticulo> seleccionarOferta(Date fechaBusqueda, String tipo) {
        
        List<OfertaNumeroArticulo> o = new ArrayList();
        
        o = POfertaNumeroArticulo.seleccionarOfertaBD(fechaBusqueda, tipo);

        return o;
    }

    public void nuevo(OfertaNumeroArticulo o) {
        POfertaNumeroArticulo.nuevoBD(o);
    }


    public void actualizar(OfertaNumeroArticulo o) {
        POfertaNumeroArticulo.actualizarBD(o);
    }
    
    public void eliminar (OfertaNumeroArticulo o){
        POfertaNumeroArticulo.eliminarBD(o);
    }
}
